package com.example.texted.eventlistenerdemo;

public class testListenerExecuter {
    PercentListener percentListener;
    private int percent = 0;

    public void addPercentListener(PercentListener percentListener){
        this.percentListener = percentListener;
    }

    public void innerExcuter(){
        for (int i=0;i<100;i++){
            percent=i;
            System.out.println("我是percent 我改变成了="+percent);
            //这一步必须在改变事件中加入对percent的监听 updateEvent是变量改变之后的执行事件
            //这个event里面也不是非要监听percent，你也可以监听其他变量
            percentListener.updateEvent(new PercentEvent(this,percent));
        }
    }

    /*
      JAVA中的事件机制的参与者有3种角色：Event、EventSource、Listener

      1.Event：就是事件产生时具体的“事件”，用于Listener的相应的方法之中，作为参数一般存在于Listener的方法之中。

      2.EventSource：事件源，它的作用主要是对事件和监听进行统一管理，具体的接受事件的实体，比如说，你点击一个button，那么button就是EventSource，这样你必须使button对某些事件进行响应，你就需要注册特定的listener，比如说MouseEvent之中的 MouseClicked方法，这时它就必须有了add方法。

      3.Listener：具体的进行监听的事件类，当有其对应的Event产生的时候，它就调用相应的方法进行处理。在windows程序设计里边这种响应使用callback机制来实现的。
     */
}
